<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Template</title>
</head>
<body>

<div id="app">
    <!-- 1. 事件调用的方法没有参数 -->
    <button @click="btn1Click()">按钮1</button>

    <!-- 2. 在事件定义时，写函数时省略了小括号，但是方法本身是需要一个参数的，这时，Vue会默认将浏览器生产的event事件对象作为参数传入到方法中 -->
    <!-- <button @click="btn2Click(123)">按钮2</button> -->
    <!-- <button @click="btn2Click()">按钮2</button> -->
    <button @click="btn2Click">按钮3</button>

    <!-- 3. 方法定义，同时需要event对象, 又需要其它参数 -->
    <!-- 调用方式，如何手动的获取到浏览器参数的event对象：$event -->
    <button @click="btn3Click(123, $event)">按钮4</button>
</div>

<script src="../js/vue.js"></script>
<script>
    const app = new Vue
    (
        {
            el : "#app",
            data : 
            {
                message : "hello",
                event : "coderwhy",
            },
            methods :
            {
                btn1Click()
                {
                    console.log("btn1Click");
                },
                btn2Click(event)
                {
                    console.log("btn2Click", event);
                },
                btn3Click(abc, event)
                {
                    console.log("btn3Click", abc, event);
                }
            }
        }
    )

    // 如果函数需要参数，但是没有传入，那么函数的形参为undefined
    // function abc(name)
    // {
    //     console.log(name);
    // }
    
    // abc();
</script>
    
</body>
</html>